RMoX: A Raw Metal occam Experiment
نویسندگان
چکیده
Operating-systems are the core software component of many modern computer systems, ranging from small specialised embedded systems through to large distributed operating-systems. This paper presents RMoX: a highly concurrent CSPbased operating-system written in occam. The motivation for this stems from the overwhelming need for reliable, secure and scalable operating-systems. The majority of operating-systems are written in C, a language that easily offers the level of flexibility required (for example, interfacing with assembly routines). C compilers, however, provide little or no mechanism to guard against race-hazard and aliasing errors, that can lead to catastrophic run-time failure (as well as to more subtle errors, such as security loop-holes). The RMoX operating-system presents a novel approach to operating-system design (although this is not the first CSP-based operating-system). Concurrency is utilised at all levels, resulting in a system design that is well defined, easily understood and scalable. The implementation, using the KRoC extended occam, provides guarantees of freedom from race-hazard and aliasing errors, and makes extensive use of the recently added support for dynamic process creation and channel mobility. Whilst targeted at mainstream computing, the ideas and methods presented are equally applicable for small-scale embedded systems — where advantage can be made of the lightweight nature of RMoX (providing fast interrupt responses, for example).
منابع مشابه
gCSP occam Code Generation for RMoX
gCSP is a graphical tool for creating and editing CSP diagrams. gCSP is used in our labs to generate the embedded software framework for our control systems. As a further extension to our gCSP tool, an occam code generator has been constructed. Generating occam from CSP diagrams gives opportunities to use the Raw-Metal occam eXperiment (RMoX) as a minimal operating system on the embedded contro...
متن کاملA Process Oriented Approach to USB Driver Development
Operating-systems are the core software component of many modern computer systems, ranging from small specialised embedded systems through to large distributed operating-systems. The demands placed upon these systems are increasingly complex, in particular the need to handle concurrency: to exploit increasingly parallel (multi-core) hardware; support increasing numbers of user and system proces...
متن کاملDesign and Implementation of a Proof-of-Concept MMORPG Using CSP and occam-π
We describe an experiment in the application of CSP and occam-π to the specification and implementation of a significant concurrent application. The utility of CSP for prototyping and verifying the complex interactions of a proof-of-concept multiplayer game is explored, as are several interesting new extensions to the occam language. Verifying the design with CSP is found to eliminate potential...
متن کاملLung cancer risk in the electroplating industry in Lombardy, Italy, using the Italian occupational cancer monitoring (OCCAM) information system.
BACKGROUND Occupational Cancer Monitoring (OCCAM) is an Italian organization that monitors occupational cancers, by area and industrial sector, by retrieving cases and employment history from official databases. OCCAM previously estimated a relative risk (RR) of lung cancer of about 1.32 among "metal treatment" workers in Lombardy, northern Italy, potentially exposed to chrome and nickel. In th...
متن کاملLife of occam-Pi
This paper considers some questions prompted by a brief review of the history of computing. Why is programming so hard? Why is concurrency considered an “advanced” subject? What’s the matter with Objects? Where did all the Maths go? In searching for answers, the paper looks at some concerns over fundamental ideas within object orientation (as represented by modern programming languages), before...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003